package com.course.complier;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 种别码
 */
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum WordType {
    /**
     * 关键字 （一词一码）： if/else/then/...
     */
    KEYWORD(1),
    /**
     * 标识符（多词一码）： 变量名/数组名/记录名/过程ming/...
     */
    IDENTIFY(2),
    /**
     * 常量（一型一码）
     */
    Constant(3),
    /**
     * 字面量量（一型一码）
     */
    LITERALS(4),
    /**
     * 运算符（一词一码 或 一型一码）：算术(+ - * / ++ -- ...) 关系(> < == != >=  <=  )  逻辑（& |~）
     */
    OPERATOR(5),
    /**
     * 界限符（一词一码）： ;()={}....
     */
    BOUND_SYMBOL(6),

    /**
     * 注释
     */
    COMMENT(7),
    /**
     * 函数 （一词一码）
     */
    FUNCTION(8),

    ;

    @Getter
    private int type;

}
